package cn.tedu.oop;
/*本类用于面向对象的巩固练习*/
public class TestCar {
    //入口函数
    public static void main(String[] args) {
        Car c=new Car();
        //4.设置值
        c.setBrand("BTW");
        c.setColor("珍珠白");
        c.setPrice(1.0);
        c.setLength(1.0);
//        5.查看值
//        System.out.println("c.brand = " + c.brand);
//        System.out.println("c.color = " + c.color);
//        System.out.println("c.price = " + c.price);
//        System.out.println("c.length = " + c.length);
////        6.通过c对象调用汽车类的方法
        c.start();
//        c.stop();
        //7.3调用提供的set与get方法，设置并获取对应属性的值
        c.setBrand("Tesla");
        c.setColor("Black");
        c.setPrice(200);
        c.setLength(3);
        System.out.println("c.getBrand() = " + c.getBrand());
        System.out.println("c.getColor() = " + c.getColor());
        System.out.println("c.getPrice() = " + c.getPrice());
        System.out.println("c.getLength() = " + c.getLength());
//        8.3调用公共方法来实现私有方法功能的使用
        c.start();
    }
}

//1.抽象汽车这一类事物的属性和行为，封装成一个组件
class Car{
    //2.属性--成员变量来描述
    //7.1封装所有的属性值，--用private修饰
    private String color;
    private String brand;

    private double price;
    private double length;

    //3.行为--方法来描述
    //8.2可以在本类公共的方法里，调用私有方法
    public void start(){
        System.out.println("Car Start~");
        stop();//我们通过方法名＋参数列表调用方法
    }
    //8.1封装方法，通过private修饰符
    private   void  stop(){
        System.out.println("Car stop");
    }
//  7.2创建所有属性的get和set方法
    //getter和setter方法 右键空白--Generate--getter and setter--shift+右键 一个个点击 至全部选中
    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }

}
